﻿//49.字母异位词分组
//给你一个字符串数组，请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。
//字母异位词 是由重新排列源单词的所有字母得到的一个新单词。
class Solution {
public:
    vector<vector<string>> groupAnagrams(vector<string>& strs)
    {
        map<string, vector<string>> hashtable;
        for (auto e : strs)
        {
            string key = e;
            sort(key.begin(), key.end());
            hashtable[key].push_back(e);
        }
        vector<vector<string>> ret;
        for (auto e : hashtable)
        {
            ret.push_back(e.second);
        }
        return ret;
    }
};